Zhuyin Input Interface on a Device

ABSTRACT

One of a pair of alternate key planes of a virtual keyboard is presented. Each key plane includes a partial set of phonetic symbols from a phonetic alphabet. A first key plane includes a set of initial phonetic symbols. A second key plane includes a set of final phonetic symbols and a set of tone marks. The virtual keyboard automatically switches between the first key plane and the second key plane upon receiving a predetermined set of user input triggers. A sequence of Zhuyin phonetic symbol input is received from a user interface, where the sequence of Zhuyin phonetic symbols represents phonetic spellings of a plurality of Chinese characters. User input to select one of a list of Chinese character combinations is received. The selected Chinese character combination is entered as text input in the user interface.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application Ser.No. 61/160,655, filed on Mar. 16, 2009, and U.S. Provisional ApplicationSer. No. 61/170,580, filed on Apr. 17, 2009, under 35. U.S.C. §119(e).The entire content of both provisional applications is herebyincorporated by reference.

TECHNICAL FIELD

The subject matter of this specification is generally related to textinput interfaces.

BACKGROUND

Traditional computer keyboards may be too large for portable devices,such as mobile phones, multimedia players, or personal digitalassistants (PDAs). Some portable devices include a smaller version ofthe traditional computer keyboard or use a virtual keyboard to receiveuser input. A virtual keyboard is a software application or a feature ofa software application to simulate a computer keyboard. For example, ina portable device with a touch-sensitive display, a user can input textby selecting or touching areas of the touch-sensitive displaycorresponding to keys of the virtual keyboard.

These smaller keyboards and virtual keyboards may have keys thatcorrespond to multiple characters. For example, a key on the keyboardcan correspond to a respective character, such as a letter, in a defaultinput language. The same key may also correspond to one or moreadditional (i.e., alternative) characters, such as another letter, theletter with an accent option, or another letter in another inputlanguage. Due to the physical limitations (e.g., size) of the virtualkeyboard on a portable device, a user may find it difficult to enter thealternative characters not readily available on the virtual keyboard.

Input methods for devices having multi-language environments can presentunique challenges with respect to text input and correction. Thekeyboard layout for these input methods may need to be tailored to theselected language to ensure accuracy and efficient workflow.

SUMMARY

Methods, systems, and computer program products, for inputting text aredisclosed. In one aspect, an interface for entering electronic text on atouch-sensitive display device is disclosed. The interface includes avirtual keyboard consisting of a first key plane and a second key plane.The first key plane includes a set of initial phonetic symbols of aphonetic alphabet. The second key plane includes a set of final phoneticsymbols of the phonetic alphabet. The first key plane and the second keyplane are touch-sensitive and operable to receive user input directedtoward each of the phonetic symbols to generate electronic text input.The virtual keyboard switches between the first key plane and the secondkey plane in response to predetermined user input triggers received onthe virtual keyboard.

In some implementations, the first key plane further includes a set ofmedial phonetic symbols of the phonetic alphabet. In someimplementations, the second key plane further includes a set of medialphonetic symbols of the phonetic alphabet. In some implementations, thesecond key plane further includes a set of tone marks associated withthe phonetic alphabet. In some implementations, the first and the secondkey planes both include an identical set of medial phonetic symbols ofthe phonetic alphabet. In some implementations, the phonetic symbols areZhuyin symbols of a Chinese Zhuyin alphabet and are arranged inhorizontal rows on the first and the second key planes in predeterminedphonetic groups of the Chinese Zhuyin alphabet. In some implementations,the first and the second key planes each includes a shift key forswitching between the first and the second key planes. In someimplementations, the predetermined user input triggers include a userselecting one of the set of initial phonetic symbols of the phoneticalphabet on the first key plane. In some implementations, thepredetermined user input triggers include a user selecting one of theset of tone marks associated with the phonetic alphabet on the secondkey plane. In some implementations, the predetermined user inputtriggers include a user selecting a shift key on the first or the secondkey plane that is operable to trigger key plane switching in the virtualkeyboard between the first and the second key planes. In someimplementations, the predetermined user input triggers include a userdeleting a last-entered initial phonetic symbol in a text input streamwhile the second key plane is being presented. In some implementations,the predetermined user input triggers include a user deleting alast-entered tone mark in a text input stream while the first key planeis being presented.

In another aspect, a computer-implemented method for receivingtext-input on a touch-sensitive display device is disclosed. A primarykey plane of a virtual keyboard is presented on a touch-sensitivedisplay device. The primary key plane includes a set of initial phoneticsymbols of a phonetic alphabet. A first user input selecting one of theset of initial phonetic symbols on the primary key plane is received.Upon the first user input being received, an alternate, secondary keyplane of the virtual keyboard is presented in place of (or in additionto) the primary key plane. The secondary key plane includes a set offinal phonetic symbols of the phonetic alphabet and none of the set ofinitial phonetic symbols of the phonetic alphabet.

In some implementations, the secondary key plane further includes a setof tone marks associated with the phonetic alphabet. In someimplementations, the primary key plane further includes a set of medialphonetic symbols of the phonetic alphabet. In some implementations, thesecond key plane further includes a set of medial phonetic symbols ofthe phonetic alphabet. In some implementations, the first and the secondkey planes each further includes an identical set of medial phoneticsymbols of the phonetic alphabet. In some implementations, the phoneticsymbols are Zhuyin symbols of a Chinese Zhuyin alphabet and are arrangedin horizontal rows on the first and the second key planes inpredetermined phonetic groups of the Chinese Zhuyin alphabet. In someimplementations, the primary and the secondary key planes each includesa shift key that is operable to trigger key plane switching in thevirtual keyboard between the primary and the secondary key planes wheninvoked by user input. In some implementations, while presenting theprimary key plane of the virtual keyboard, a second user input invokingthe shift key on the primary key plane is received. Upon the second userinput being received, the secondary key plane of the virtual keyboard ispresented in place of the primary key plane. In some implementations,while presenting the secondary key plane of the virtual keyboard, asecond user input invoking the shift key on the secondary key plane isreceived. Upon the second user input being received, the primary keyplane of the virtual key board is presented in place of the secondarykey plane. In some implementations, a second user input selecting one ofthe tone marks on the secondary key plane is received. Upon the seconduser input being received, the primary key plane of the virtual keyboardis presented in place of the secondary key plane. In someimplementations, after the second user input is received and while theprimary key plane is being presented, a third user input deleting theselected tone mark is received. Upon the third user input beingreceived, the secondary key plane of the virtual key board is presentedin place of the primary key plane. In some implementations, while thesecondary key plane is being presented, a second user input deleting theselected initial phonetic symbol is received. Upon the second user inputbeing received, the primary key plane of the virtual keyboard ispresented in place of the secondary key plane.

In another aspect, a computer-implemented method for receivingtext-input on a touch-sensitive display device is disclosed. One of apair of alternate key planes of a virtual keyboard is presented on thetouch-sensitive display device. Each of the pair of alternate key planesincludes a partial set of phonetic symbols from a phonetic alphabet. Afirst key plane of the key plane pair includes a set of initial phoneticsymbols of the phonetic alphabet. A second key plane of the key planepair includes a set of final phonetic symbols of the phonetic alphabet.A sequence of symbol input is received from the pair of alternate keyplanes for text-entry on the touch-sensitive display device.

In some implementations, the second key plane further includes a set oftone marks associated with the phonetic alphabet. In someimplementations, either or both of the first and the second key planesinclude a set of medial phonetic symbols of the phonetic alphabet.

In some implementations, while the first key plane is being presented,user input adding an initial phonetic symbol or a medial symbol to asymbol input sequence is received. Upon the user input being received,the second key plane of the virtual keyboard is presented in place ofthe first key plane. In some implementations, while the first key planeis being presented, user input deleting a tone mark from a symbol inputsequence is received. Upon the user input being received, the second keyplane of the virtual keyboard is presented in place of the first keyplane. While the second key plane is being presented, user input isreceived, where the user input is for adding a tone mark to a symbolinput sequence after a medial or a final phonetic symbol. Upon the userinput being received, the first key plane of the virtual keyboard ispresented in place of the second key plane. While the second key planeis being presented, user input deleting an initial phonetic symbol froma symbol input sequence is received. Upon the user input being received,the first key plane of the virtual keyboard is presented in place of thesecond key plane.

In one aspect, a computer-implemented method for receiving text-input ona touch-sensitive display device is disclosed. A sequence of Zhuyinsymbols is received from a user interface, where the sequence of Zhuyinsymbols represents phonetic spellings of a plurality of Chinesecharacters. A list of Chinese character combinations are presentedcorresponding to the sequence of Zhuyin symbols. User input to selectone of the list of Chinese character combinations is received. Theselected Chinese character combination is entered as text input in theuser interface.

In some implementations, the sequence of Zhuyin symbols representsphonetic spellings of the plurality of Chinese characters withoutcorresponding tone marks for all of the plurality of Chinese characters.In some implementations, the sequence of Zhuyin symbols representsphonetic spellings of the plurality of Chinese characters without anycorresponding tone marks for any of the plurality of Chinese characters.In some implementations, the sequence of Zhuyin symbols representsphonetic spellings of the plurality of Chinese characters withoutcorresponding final phonetic symbols for all of the plurality of Chinesecharacters. In some implementations, the sequence of Zhuyin symbolsrepresents phonetic spellings of the plurality of Chinese characterswithout any corresponding final phonetic symbols for any of theplurality of Chinese characters.

In one aspect, a computer-implemented method for receiving text-input ona touch-sensitive display device is disclosed. One of a pair ofalternate key planes of a virtual keyboard is presented. Each of thepair of alternate key planes includes a partial set of phonetic symbolsfrom a phonetic alphabet. A first key plane of the key plane pairincludes a set of initial phonetic symbols of the phonetic alphabet. Asecond key plane of the key plane pair includes a set of final phoneticsymbols of the phonetic alphabet. A sequence of phonetic symbols isreceived through the first key plane and the second key plane, where thevirtual keyboard switches from the first key plane to the second keyplane in response to entry of an initial phonetic symbol in thesequence, the virtual keyboard switches from the second key plane to thefirst key plane in response to entry of a final phonetic symbol in thesequence, and the sequence of phonetic symbols represents phoneticspellings of a plurality of Chinese characters without correspondingtone marks. A list of Chinese character combinations corresponding tothe sequence of phonetic symbols is presented. User input to select oneof the list of Chinese character combinations is received. The selectedChinese character combination is entered as text input in the userinterface.

In one aspect, a computer-implemented method for receiving text-input ona touch-sensitive display device is disclosed. One of a pair ofalternate key planes of a virtual keyboard is presented. Each of thepair of alternate key planes includes a partial set of phonetic symbolsfrom a phonetic alphabet. A first key plane of the key plane pairincludes a set of initial phonetic symbols of the phonetic alphabet. Asecond key plane of the key plane pair includes a set of final phoneticsymbols of the phonetic alphabet. A sequence of phonetic symbol input isreceived through the first key plane. The sequence of phonetic symbolsrepresents phonetic spellings of a plurality of Chinese characterswithout corresponding final phonetic symbols and tone marks. A list ofChinese character combinations corresponding to the sequence of phoneticsymbols is presented. User input to select one of the list of Chinesecharacter combinations is received. The selected Chinese charactercombination is entered as text input in the user interface.

Other embodiments of the disclosed aspects of the subject matter in thisspecification include corresponding systems, apparatus, devices,computer program products, and computer readable media.

Particular embodiments of the subject matter described in thisspecification can be implemented to realize one or more of the followingadvantages.

In some implementations, the virtual keyboard can include two alternatekey planes. Each key plane includes only a subset (i.e., a partial set)of character input symbols. Therefore, fewer character input symbols aredisplayed on the user interface at a time, avoiding an overcrowded textinput interface and making it easier for users to locate and enterdesired input symbols on the text input interface.

In some implementations, the character input symbols are arranged inhorizontal rows on each of the alternate key planes. The ordering andgrouping of the character input symbols on the key planes confirm topredetermined conventional ordering and grouping by which thesecharacter input symbols are memorized by users. Therefore, it can beeasy and intuitive for a user to locate desired character input symbolson the virtual keyboard. Users can become acquainted with the keyboardlayout quickly. Symbols and characters can be input more efficientlyusing the virtual keypad on a portable device.

In some implementations, the character input symbols of the inputlanguage can be divided into two key planes according to the functionsof the symbols in constructing a character in the input language. Thevirtual keyboard can automatically switch between the two key planesdepending on the context of the text input. Using the ZhuYin inputmethod for Chinese characters as an example: the first key plane caninclude only the initial phonetic symbols and the medial phoneticsymbols of the input language. The second key plane can include only thefinal phonetic symbols of the input language and the tone marksassociated with the input language. A majority of Chinese character canbe constructed by a single initial or medial phonetic symbol, followedby a final phonetic symbol and a tone mark at the end. After an initialphonetic symbol is entered on the first key plane, the virtual keyboardcan automatically switch to the second key plane and be ready to receiveinput entering a final phonetic symbol and a tone mark. After a tonemark is entered (e.g., following a final phonetic symbol) on the secondkey plane, the virtual keyboard can automatically switch to the firstkey plane again and be ready to receive user input entering an initialphonetic symbol of the next Chinese character input. The virtual keyboard can also automatically revert to the previously displayed keyplane when the input symbol that triggered the key planed switching isdeleted. The context-based switching between the first and the secondkey planes can make character input more efficient using the virtualkeypad on a portable device because users do not have to manually switchbetween the two key planes in most text entry scenarios. The division ofthe alphabet onto two key planes and the context-based switching can beapplied to other input methods and languages, for example, the Pinyininput method for Chinese characters. Applications suitable for otherAsia language input methods can also be implemented, e.g, Jamo (Koreanhangul input), Hiragana or Katakana (Japanese input).

In some implementations, the phonetic symbols of the Zhuyin input methodcan be continuously entered using a keyboard before the Chinesecharacters represented by the phonetic symbol sequence are entered.Instead of having to enter one character at a time, multiple characters,words, phrases, idioms, partial sentences, and whole sentences can beentered as a single multi-character combination using a single phoneticsymbol sequence. Using phonetic symbol sequences for multi-charactercombinations including multiple characters, words, phrases, idiom,partial sentences, and even whole sentences can improve the accuracy ofcandidate character suggestion, and reduce the number of possiblealternatives in the candidate list. Thus, speed of Chinese characterkeyboard entry can be improved.

In some implementations, partial phonetic spellings, e.g., a phoneticsymbol sequence that does not include complete phonetic spellings ofcharacters, are entered, and character entry can be completed byselection from a candidate list. The candidate list can includecharacter combinations for a single word, words, phrases, partialsentences, and even whole sentences. Using incomplete (or partial)phonetic spellings for character entry, fewer key strokes are requiredto enter the desired character combinations, words, phrases, idioms,partial sentences, and even whole sentences. The speed and accuracy ofcharacter entry can be improved.

In some implementations, the automatic switching keyboard can beextended to enable automatic switching for phonetic spelling without thetone marks. The automatic switching from the second key plane back tothe first key plane can be triggered by the entry of a final phoneticsymbol. The character combination candidates can be presented for userselection as phonetic symbols are continuously entered into the phoneticsymbol sequence through the automatic switching keyboard.

In some implementations, only the first key plane is displayed, and theautomatic switching is disabled. A user can continuously enter theinitial phonetic symbols to create a sequence of phonetic symbols thatcan be used to provide candidate suggestions. A user can selectivelyenter a final phonetic symbol into the sequence of phonetic symbols bymanually switching to a second key plane. By displaying only a first keyplane for text entry, the screen area is conserved. By using only theinitial phonetic symbol for character entry, fewer key strokes arerequired for character entry. Because multiple characters can be enteredtogether as a single multi-character combination, the accuracy ofcandidate suggestions can be improved. The speed of character entriescan also be improved.

The details of one or more embodiments of the subject matter describedin this specification are set forth in the accompanying drawings and thedescription below. Other features, aspects, and advantages of thesubject matter will become apparent from the description, the drawings,and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an example mobile device.

FIG. 2 is a block diagram of an example implementation of the mobiledevice of FIG. 1.

FIG. 3 is a table including Zhuyin symbols of a Zhuyin phonetic alphabetfor inputting Chinese characters.

FIGS. 4A-4B illustrate an example user interface for entering text.

FIGS. 4C-4D illustrate an example layout of input symbols on the two keyplanes of the example user interface shown in FIGS. 4A-4B.

FIGS. 5A-5J illustrate an example process for entering text on theexample user interface shown in FIGS. 4A-4B.

FIGS. 6A-6B illustrate an example process for input correction (e.g.,deleting a previously entered input symbol) on the example userinterface shown in FIGS. 4A-4B.

FIG. 7 is a flow diagram of an example process for entering text andinput correction.

FIG. 8 is a flow diagram of another example process for entering textand input correction.

FIG. 9 is a flow diagram of an example process for manually switchingbetween alternate key planes.

FIG. 10 is a flow diagram of an example process for automaticallyswitching between alternate key planes.

FIG. 11 is a flow diagram of an example process for entering a sequenceof Zhuyin phonetic symbols for multiple characters before an entry of amulti-character combination is completed.

FIG. 12 is a flow diagram of an example process for enteringmulti-character combinations on an auto-switching keyboard using atoneless Zhuyin input method.

FIG. 13 is a flow diagram of an example process for enteringmulti-character combinations on a dual-plane keyboard using an“abbreviated” Zhuyin input method.

Like reference numbers and designations in the various drawings indicatelike elements.

DETAILED DESCRIPTION Example Mobile Device

FIG. 1 is a block diagram of an example mobile device 100. The mobiledevice 100 can be, for example, a handheld computer, a personal digitalassistant, a cellular telephone, a network appliance, a camera, a smartphone, an enhanced general packet radio service (EGPRS) mobile phone, anetwork base station, a media player, a navigation device, an emaildevice, a game console, or a combination of any two or more of thesedata processing devices or other data processing devices.

Mobile Device Overview

In some implementations, the mobile device 100 includes touch-sensitivedisplay 102. The touch-sensitive display 102 can implement using liquidcrystal display (LCD) technology, light emitting polymer display (LPD)technology, or some other display technology. The touch sensitivedisplay 102 can be sensitive to haptic and/or tactile contact with auser.

In some implementations, the touch-sensitive display 102 can comprisemulti-touch-sensitive display 102. A multi-touch-sensitive display 102can, for example, process multiple simultaneous touch points, includingprocessing data related to the pressure, degree, and/or position of eachtouch point. Such processing facilitates gestures and interactions withmultiple fingers, chording, and other interactions. Othertouch-sensitive display technologies can also be used, e.g., a displayin which contact is made using a stylus or other pointing device. Someexamples of multi-touch-sensitive display technology are described inU.S. Pat. Nos. 6,323,846, 6,570,557, 6,677,932, and 6,888,536, each ofwhich is incorporated by reference herein in its entirety.

In some implementations, the mobile device 100 can display one or moregraphical user interfaces on the touch-sensitive display 102 forproviding the user access to various system objects and for conveyinginformation to the user. In some implementations, the graphical userinterface can include one or more display objects 104, 106. In theexample shown, the display objects 104, 106, are graphic representationsof system objects. Some examples of system objects include devicefunctions, applications, windows, files, alerts, events, or otheridentifiable system objects.

Example Mobile Device Functionality

In some implementations, the mobile device 100 can implement multipledevice functionalities, such as a telephony device, as indicated byphone object 110; an e-mail device, as indicated by e-mail object 112; anetwork data communication device, as indicated by Web object 114; aWi-Fi base station device (not shown); and a media processing device, asindicated by media player object 116. In some implementations,particular display objects 104, e.g., the phone object 110, the e-mailobject 112, the Web object 114, and the media player object 116, can bedisplayed in menu bar 118. In some implementations, devicefunctionalities can be accessed from a top-level graphical userinterface, such as the graphical user interface illustrated in FIG. 1.Touching one of the objects 110, 112, 114, or 116 can, for example,invoke corresponding functionality.

In some implementations, the mobile device 100 can implement networkdistribution functionality. For example, the functionality can enablethe user to take the mobile device 100 and provide access to itsassociated network while traveling. In particular, the mobile device 100can extend Internet access (e.g., Wi-Fi) to other wireless devices inthe vicinity. For example, the mobile device 100 can be configured as abase station for one or more devices. As such, the mobile device 100 cangrant or deny network access to other wireless devices.

In some implementations, upon invocation of device functionality, thegraphical user interface of the mobile device 100 changes, or isaugmented or replaced with another user interface or user interfaceelements, to facilitate user access to particular functions associatedwith the corresponding device functionality. For example, in response toa user touching the phone object 110, the graphical user interface ofthe touch-sensitive display 102 may present display objects related tovarious phone functions; likewise, touching of the email object 112 maycause the graphical user interface to present display objects related tovarious e-mail functions; touching the Web object 114 may cause thegraphical user interface to present display objects related to variousWeb-surfing functions; and touching the media player object 116 maycause the graphical user interface to present display objects related tovarious media processing functions.

In some implementations, the top-level graphical user interfaceenvironment or state of FIG. 1 can be restored by pressing button 120located near the bottom of the mobile device 100. In someimplementations, each corresponding device functionality may havecorresponding “home” display objects displayed on the touch-sensitivedisplay 102, and the graphical user interface environment of FIG. 1 canbe restored by pressing the “home” display object.

In some implementations, the top-level graphical user interface caninclude additional display objects 106, such as short messaging service(SMS) object 130, calendar object 132, photos object 134, camera object136, calculator object 138, stocks object 140, weather object 142, mapsobject 144, notes object 146, clock object 148, address book object 150,and settings object 152. Touching the SMS display object 130 can, forexample, invoke an SMS messaging environment and supportingfunctionality; likewise, each selection of the display object 132, 134,136, 138, 140, 142, 144, 146, 148, 150, and 152 can invoke acorresponding object environment and functionality.

Additional and/or different display objects can also be displayed in thegraphical user interface of FIG. 1. For example, if the device 100 isfunctioning as a base station for other devices, one or more“connection” objects may appear in the graphical user interface toindicate the connection. In some implementations, the display objects106 can be configured by a user, e.g., a user may specify which displayobjects 106 are displayed, and/or may download additional applicationsor other software that provides other functionalities and correspondingdisplay objects.

In some implementations, the mobile device 100 can include one or moreinput/output (I/O) devices and/or sensor devices. For example, speaker160 and microphone 162 can be included to facilitate voice-enabledfunctionalities, such as phone and voice mail functions. In someimplementations, up/down button 184 for volume control of the speaker160 and the microphone 162 can be included. The mobile device 100 canalso include on/off button 182 for a ring indicator of incoming phonecalls. In some implementations, loud speaker 164 can be included tofacilitate hands-free voice functionalities, such as speaker phonefunctions. Audio jack 166 can also be included for use of headphonesand/or a microphone.

In some implementations, proximity sensor 168 can be included tofacilitate the detection of the user positioning the mobile device 100proximate to the user's ear and, in response, to disengage thetouch-sensitive display 102 to prevent accidental function invocations.In some implementations, the touch-sensitive display 102 can be turnedoff to conserve additional power when the mobile device 100 is proximateto the user's ear.

Other sensors can also be used. For example, in some implementations,ambient light sensor 170 can be utilized to facilitate adjusting thebrightness of the touch-sensitive display 102. In some implementations,accelerometer 172 can be utilized to detect movement of the mobiledevice 100, as indicated by the directional arrow 174. Accordingly,display objects and/or media can be presented according to a detectedorientation, e.g., portrait or landscape. In some implementations, themobile device 100 may include circuitry and sensors for supporting alocation determining capability, such as that provided by the globalpositioning system (GPS) or other positioning systems (e.g., systemsusing Wi-Fi access points, television signals, cellular grids, UniformResource Locators (URLs)). In some implementations, a positioning system(e.g., a GPS receiver) can be integrated into the mobile device 100 orprovided as a separate device that can be coupled to the mobile device100 through an interface (e.g., port device 190) to provide access tolocation-based services.

In some implementations, the port device 190, e.g., a Universal SerialBus (USB) port, or a docking port, or some other wired port connection,can be included. The port device 190 can, for example, be utilized toestablish a wired connection to other computing devices, such as othercommunication devices 100, network access devices, a personal computer,a printer, a display screen, or other processing devices capable ofreceiving and/or transmitting data. In some implementations, the portdevice 190 allows the mobile device 100 to synchronize with a hostdevice using one or more protocols, such as, for example, the TCP/IP,HTTP, UDP and any other known protocol.

The mobile device 100 can also include camera lens and sensor 180. Insome implementations, the camera lens and sensor 180 can be located onthe back surface of the mobile device 100. The camera can capture stillimages and/or video.

The mobile device 100 can also include one or more wirelesscommunication subsystems, such as 802.11b/g communication device 186,and/or Bluetooth™ communication device 188. Other communicationprotocols can also be supported, including other 802.x communicationprotocols (e.g., WiMax, Wi-Fi, 3G), code division multiple access(CDMA), global system for mobile communications (GSM), Enhanced Data GSMEnvironment (EDGE), etc.

Example Mobile Device Architecture

FIG. 2 is a block diagram 200 of an example implementation of the mobiledevice 100 of FIG. 1. The mobile device 100 can include memory interface202, one or more data processors, image processors and/or centralprocessing units 204, and peripherals interface 206. The memoryinterface 202, the one or more processors 204 and/or the peripheralsinterface 206 can be separate components or can be integrated in one ormore integrated circuits. The various components in the mobile device100 can be coupled by one or more communication buses or signal lines.

Sensors, devices, and subsystems can be coupled to the peripheralsinterface 206 to facilitate multiple functionalities. For example,motion sensor 210, light sensor 212, and proximity sensor 214 can becoupled to the peripherals interface 206 to facilitate the orientation,lighting, and proximity functions described with respect to FIG. 1.Other sensors 216 can also be connected to the peripherals interface206, such as a positioning system (e.g., GPS receiver), a temperaturesensor, a biometric sensor, or other sensing device, to facilitaterelated functionalities.

Camera subsystem 220 and optical sensor 222, e.g., a charged coupleddevice (CCD) or a complementary metal-oxide semiconductor (CMOS) opticalsensor, can be utilized to facilitate camera functions, such asrecording photographs and video clips.

Communication functions can be facilitated through one or more wirelesscommunication subsystems 224, which can include radio frequencyreceivers and transmitters and/or optical (e.g., infrared) receivers andtransmitters. The specific design and implementation of thecommunication subsystem 224 can depend on the communication network(s)over which the mobile device 100 is intended to operate. For example,the mobile device 100 may include communication subsystems 224 designedto operate over a GSM network, a GPRS network, an EDGE network, a Wi-Fior WiMax network, and a Bluetooth™ network. In particular, the wirelesscommunication subsystems 224 may include hosting protocols such that thedevice 100 may be configured as a base station for other wirelessdevices.

Audio subsystem 226 can be coupled to speaker 228 and microphone 230 tofacilitate voice-enabled functions, such as voice recognition, voicereplication, digital recording, and telephony functions.

The I/O subsystem 240 can include touch screen controller 242 and/orother input controller(s) 244. The touch-screen controller 242 can becoupled to touch screen 246. The touch screen 246 and the touch screencontroller 242 can, for example, detect contact and movement or breakthereof using any of a plurality of touch sensitivity technologies,including but not limited to capacitive, resistive, infrared, andsurface acoustic wave technologies, as well as other proximity sensorarrays or other elements for determining one or more points of contactwith the touch screen 246.

The other input controller(s) 244 can be coupled to other input/controldevices 248, such as one or more buttons, rocker switches, thumb-wheel,infrared port, USB port, and/or a pointer device such as a stylus. Theone or more buttons (not shown) can include an up/down button for volumecontrol of the speaker 228 and/or the microphone 230.

In one implementation, a pressing of the button for a first duration maydisengage a lock of the touch screen 246; and a pressing of the buttonfor a second duration that is longer than the first duration may turnpower to the mobile device 100 on or off. The user may be able tocustomize a functionality of one or more of the buttons. The touchscreen 246 can, for example, also be used to implement virtual or softbuttons and/or a keyboard.

In some implementations, the mobile device 100 can present recordedaudio and/or video files, such as MP3, AAC, and MPEG files. In someimplementations, the mobile device 100 can include the functionality ofan MP3 player, such as an iPod™. The mobile device 100 may, therefore,include a 30-pin connector that is compatible with the iPod™. Otherinput/output and control devices can also be used.

The memory interface 202 can be coupled to memory 250. The memory 250can include high-speed random access memory and/or non-volatile memory,such as one or more magnetic disk storage devices, one or more opticalstorage devices, and/or flash memory (e.g., NAND, NOR). The memory 250can store operating system 252, such as Darwin, RTXC, LINUX, UNIX, OS X,WINDOWS, or an embedded operating system such as VxWorks. The operatingsystem 252 may include instructions for handling basic system servicesand for performing hardware dependent tasks. In some implementations,the operating system 252 can be a kernel (e.g., UNIX kernel).

The memory 250 may also store communication instructions 254 tofacilitate communicating with one or more additional devices, one ormore computers and/or one or more servers. The memory 250 may includegraphical user interface instructions 256 to facilitate graphic userinterface processing; sensor processing instructions 258 to facilitatesensor-related processing and functions; phone instructions 260 tofacilitate phone-related processes and functions; electronic messaginginstructions 262 to facilitate electronic-messaging related processesand functions; web browsing instructions 264 to facilitate webbrowsing-related processes and functions; media processing instructions266 to facilitate media processing-related processes and functions;GPS/Navigation instructions 268 to facilitate GPS and navigation-relatedprocesses and instructions; camera instructions 270 to facilitatecamera-related processes and functions; and/or other softwareinstructions 272 to facilitate other processes and functions, e.g.,security processes and functions. The memory 250 may also store othersoftware instructions (not shown), such as web video instructions tofacilitate web video-related processes and functions; and/or webshopping instructions to facilitate web shopping-related processes andfunctions. In some implementations, the media processing instructions266 are divided into audio processing instructions and video processinginstructions to facilitate audio processing-related processes andfunctions and video processing-related processes and functions,respectively. An activation record and International Mobile EquipmentIdentity (IMEI) 274 or similar hardware identifier can also be stored inmemory 250.

Language data 276 can also be stored in memory 250. Language data 276can include, for example, word dictionaries (i.e., list of possiblewords in a language) for one or more languages, dictionaries ofcharacters and corresponding phonetics, one or more corpuses ofcharacters and character compounds, and so on.

Each of the above identified instructions and applications cancorrespond to a set of instructions for performing one or more functionsdescribed above. These instructions need not be implemented as separatesoftware programs, procedures, or modules. The memory 250 can includeadditional instructions or fewer instructions. Furthermore, variousfunctions of the mobile device 100 may be implemented in hardware and/orin software, including in one or more signal processing and/orapplication specific integrated circuits.

Zhuyin Input Method for Chinese Characters

Zhuyin, also called “Zhuyin Fuhao,” “Bopomofo,” or “Bopomo,” is aphonetic system for transcribing Chinese characters, especiallyaccording to the pronunciations in Mandarin. Extensions of the Zhuyininput method are also used in writing or transcribing other Chinesedialects. Zhuyin input method is widely used in Taiwan. Zhuyin inputmethod uses 37 phonetic symbols and 5 tone marks (sometimes only 4 tonemarks are used) to represent all possible pronunciations in MandarinChinese. Extended Zhuyin input method for Chinese dialects may includeadditional phonetic symbols and tone marks that represent sounds notpresent in Mandarin.

The 37 Zhuyin symbols represent a set of initial (or onset) sounds, aset of medial sounds, and a set of final (or rhyme) sounds in Mandarinpronunciation. A majority of Chinese characters are pronounced by acombination of an initial sound and a final sound. An initial sound isanalogous to an initial consonant in English pronunciation, such as the“t” in “tea.” A final sound is analogous to a vowel or a combination ofa vowel and an ending consonant, such as the “ea” in “tea” or the “an”in “tan.” Some Chinese characters are pronounced with an additionalmedial sound between the initial and the final sounds. A medial sound ofa Chinese character is analogous to a glide in English pronunciation,such as the “w” in “swan.” A small number of Chinese characters requireonly a medial sound, a final sound, or a combination of a medial and afinal sound.

The five tone marks represent the five intonations that a Chinesecharacter can have. Sometimes only four symbols are used to representthe five intonations because the absence of an intonation mark indicatesthe remaining one of the five intonations (e.g., the first tone).

FIG. 3 is a table of the 37 Zhuyin symbols along with their respectiveRomanization. The 37 Zhuyin symbols include 21 initial phonetic symbols(groups 302, 304, 306, 308, 310, 312) for the 21 initial (or onset)sounds, 3 medial phonetic symbols (group 314) for the 3 medial (orglide) sounds, and 13 final phonetic symbols (groups 316, 318, 320) forthe 13 final (or rhyme) sounds. The initial phonetic symbols includefour labial initials (302), four dental initials (304), three gutturalinitials (306), three palatal initials (308), four retroflex initials(310), and four dental sibilant initials (312). There are three medials(312) in total. The grouping of the final phonetic symbols is lessunified in practice. In general, the final phonetic symbols are dividedinto a group of four (316), four groups of twos, and a group of one (seedivisions in rows 318 and 320). The grouping and ordering of the 37Zhuyin symbols shown in FIG. 3 is widely accepted. They are taught andmemorized in Chinese classes, much like how the ABCs are taught inEnglish classes.

Some conventional layouts of Zhuyin symbols and tone marks typicallyfollow a roughly columnar or vertical arrangement. Each group ofphonetic symbols runs from the top to the bottom of the keyboard. Thegroups run from the left to the right side of the keyboard. All of the37 Zhuyin symbols, 4 tone marks, and various facilitating keys for textinput (e.g., space, return, and delete) are typically included in thelayout of the keyboard. Sometimes, in order to limit the number of keyspresent on a layout (e.g., to fit within the screen of a mobile device),some of the keys are used to represent two phonetic symbols. Thealternate symbol on a key can be invoked by activating a shift key, forexample.

In conventional Chinese character input using the Zhuyin input method,the complete phonetic spelling of each Chinese character must be enteredand completed with a tone mark. If no tone mark is entered, it isassumed that the first tone is to be entered. Because each phoneticspelling may correspond to multiple Chinese characters with the samepronunciation, after entering the complete phonetic spelling of eachcharacter, the user must stop and select the correct character from adisplayed list of suggested character candidates before proceeding tophonetically spell the next character. The conventional method isinflexible in this respect because it requires the user to enter themaximum number of symbols that each character requires (e.g., thecomplete phonetic spelling of the Chinese character using the Zhuyinsymbols), and additional key strokes for scanning through and selectinga correct character candidate from a list of suggested characters beforeproceeding to spell the next character input.

Text Input Interface

Mobile computing has become a significant part of everyday life. Manypeople do a significant amount of text editing on their mobile devices,e.g., composing email messages, short text message, and personal notes.The layout of a keyboard for text input can affect the utility of amobile device in these applications. For input methods that require manysymbols, the input keys often crowd the screen, reducing the area fordisplaying other content (e.g., a webpage in a browser, or a composedmessage in an email editor) on the screen. Furthermore, the size of thekeys is limited by the display size, making input difficult and moreerror prone. On multi-touch displays, extraneous touching outside of thedesired key area can cause false responses and confuse the system.Doubling the functions of a single key (e.g., using a single key formultiple symbols) are sometimes undesirable because switching to analternate symbol on the keyboard requires an accompanying additional keypress.

This specification provides an example dual-plane design of a virtualkeyboard that can conserve screen space. In some implementations, theordering and grouping of keys follow the intuitive ordering and groupingof the input symbols. In some implementations, the layout can avoidusing a single key to represent multiple text input symbols. Theresulting text input interface is compact, intuitive, efficient, anderror-resistant. In some implementations, the design can be furthercomplimented by an automatic switching between the two key planes of thevirtual keyboard based on the context of the symbol input or deletion.In some implementations, the design can be further complimented by acapability to accept a continuous sequence of Zhuyin symbol input goingbeyond the phonetic spelling of a single Chinese character. The sequenceof Zhuyin symbols for multiple Chinese characters, phrases, partialsentences, even complete sentences can be continuously input using thekeyboard before the corresponding Chinese character combination isselected and entered. In some implementations, abbreviated and/ortoneless spellings can be supported by variations of the virtualkeyboard to further improve the accuracy and speed of text entry.

Although the layout is described with respect to the Chinese Zhuyininput, the principles adopted by the layout can also be adapted for usewith other types of syllabic-based, highly structured languages withalphabet having character groupings including commonly known sets ofordered characters, for example, the Pinyin input method of Chinesecharacters.

FIGS. 4A-4B illustrate an example user interface for inputting orentering text on mobile device 100 in accordance with the technologydescribed in this specification. Mobile device 100 can display textpresentation area 402 and text entry area 401 on the touch-sensitivedisplay 102. The text presentation area 402 can be any area where inputtext can be displayed or presented, e.g., a note-taking application, anemail application, and so on. In some implementations, the textpresentation area 402 can include one or more text fields (e.g., a textfield in a web page). The text entry area 401 can include one or moreuser interface elements that can be used by a user to enter letters,numbers, symbols, characters, etc. (hereinafter collectively referred toas “characters” for convenience) on the mobile device 100.

The text entry area 401 can be a virtual keyboard. The example virtualkeyboard shown in FIG. 4A-4B can include two alternate key planes (shownin FIG. 4A and FIG. 4B respectively). Each of the two alternate keyplanes can include one or more virtual keys 404 that are each associatedwith one or more characters (e.g., Zhuyin symbols, punctuations,numbers, etc.). In some implementations, the two alternate key planeseach corresponds to a different subset of phonetic symbols of the Zhuyinphonetic alphabet, with no overlapping phonetic symbols or only anoverlapping of the medial phonetic symbols.

In some implementations, one of the key planes can be designated theprimary key plane (e.g., the key plane shown in FIG. 4A), which isdisplayed on the virtual keyboard by default. The primary key plane caninclude at least the set of initial (onset) phonetic symbols of theZhuyin phonetic alphabet. In some implementations, the primary key planecan also include the set of medial phonetic symbols.

The other key plane can be designated as the secondary key plane (e.g.,the key plane shown in FIG. 4B). The secondary key plane can beautomatically displayed in place of the primary key plane immediateafter a user enters an initial phonetic symbol on the primary key plane.In some implementations, the secondary key plane includes at least theset of final phonetic symbols and the set of tone marks. In someimplementations, the secondary key plane can also include the set ofmedial phonetic symbols. As the secondary key plane is displayed in thevirtual key board, a user can enter a final phonetic symbol and a tonemark from the secondary key plane. The primary key plane can bedisplayed again when the user completes the “phonetic spelling” of aChinese character by entering the tone mark for the Chinese character onthe secondary key plane.

In some implementations, the user interface can also provide a list ofsuggested candidate characters in the text presentation area 402 basedon the sequence of input symbols that has been entered (e.g., theChinese characters that match the presently entered string of symbols).If the user selects a candidate before completing the “phoneticspelling” of the candidate, the virtual keyboard can also automaticallyswitch to the primary key plane and be ready to receive symbol input forthe next Chinese character. In some implementations, the user cancomplete the phonetic spelling of each character, and select the correctcharacter from the list of candidate characters. In someimplementations, the user can continue to enter the phonetic symbols formultiple characters and does not select a candidate after the phoneticspelling for each character is completed. The keyboard can continue toswitch between the primary key plane and the secondary key plane as theuser continues to enter the phonetic symbols. The list of suggestedcandidates showing groups or combinations of Chinese characters thatmatch the currently entered sequence of phonetic symbols can becontinuously updated and displayed. By entering a sequence of phoneticsymbols for multiple characters, the list of suggested candidates can beshortened, and the accuracy of the suggestions can be improved.

The two alternate key planes can be also be switched manually by a usertouching shift key 406 on the virtual keyboard. In some implementations,the shift key 406 can have a slightly different look on the two keyplanes indicating the current switched state of the virtual keyboard. Insome implementations, other ways of manually toggling between the twokey planes can be implemented (e.g., by a multi-touch gesture on thetouch-sensitive display).

The text entry area 401 can include other user interface elements.Examples of these other user interface elements can include input methodswitching key 416 for switching between input user interfaces for one ormore languages (e.g., QWERTY keyboard, handwriting recognition, etc.),number pad key 418 for switching to a keypad for entering numbers andrelated symbols (e.g., mathematical symbols), delete/backspace key 420for deleting previously entered symbols, “

” or “Space” key 422 for accepting the currently activated character inthe text input (and optionally inputting a white space), and “

” or “Return” key 324 for entering line breaks. Other user interfaceelements can be implemented. For example, the user interface can alsoinclude language specific punctuation keys for inputtinglanguage-specific punctuation marks. In some implementations, thepunctuation symbols can be brought up by invoking the number pad key418. For another example, the user interface can include a candidate keyfor bringing up a list of character candidate completions orreplacements for the current sequence of input symbols. In someimplementations, the candidates can be displayed automatically as theuser enters the phonetic symbols into the sequence. For another example,the user interface can also include a key for bringing up a list ofother symbols (e.g., the trademark symbol), emoticons (e.g., the smileyface), and the like.

FIGS. 4C-4D show example layouts of the two key planes (430 a and 430 b)of the virtual keyboard shown in FIGS. 4A-4B.

FIG. 4C shows an example layout of the primary key plane (430 a). Theexample layout of the primary key plane 430 a can include the set ofinitial phonetic symbols of the Zhuyin phonetic alphabet. The set ofinitial phonetic symbols can be arranged on the primary key plane inhorizontal rows (432, 434, 436, 438, 440, and 442). The grouping andordering of the set of initial phonetic symbols on the primary key plane430 a can follow the conventional ordering and grouping as shown in FIG.2. This layout makes it easier for users to locate desired input symbolson the virtual keyboard. In some implementations, as shown in FIG. 4C,the primary key plane 430 a can also include the set of three medialsymbols (444) since some Chinese characters start with a medial soundinstead of an initial sound.

In some implementations, when a user enters an initial phonetic symbolon the primary key plane 430 a of the virtual key board, the virtualkeyboard can automatically switch to the secondary key plane 430 b andbe ready to receive input of a medial or a final phonetic symbolfollowing the initial phonetic symbol just entered. Since some Chinesecharacters are “phonetically spelled” by a medial symbol and a finalsymbol combination, or a medial symbol alone, the virtual keyboard canalso automatically switch to the secondary key plane 430 b after theuser enters a medial symbol on the primary key plane 430 a.

In some implementations, the user can toggle between the key plane thatis currently displayed and the alternate key plane by pressing a “shift”key 406 on either the primary or the secondary key planes. In someimplementations, the shift key 406 can have a slightly different lookfor the two key planes (see e.g., the “shift” key 406 in FIG. 4C andFIG. 4D) to indicate the current key plane that is being displayed onthe virtual key board.

FIG. 4D shows the secondary key plane (430 b) of the virtual key board.The secondary key plane 430 b includes the set of final phonetic symbolsof the Zhuyin phonetic alphabet. In some implementations, the set offinal phonetic symbols can be arranged on the secondary key plane inhorizontal rows (446, 448 a, 448 b, 450 a, 450 b, and 450 c). Thegrouping and ordering of the final phonetic symbols on the secondary keyplane follow the conventional ordering and grouping of the Zhuyinphonetic alphabet shown in FIG. 2. This arrangement makes it easy forusers to locate desired input symbols on the virtual keyboard. In FIG.4D, the secondary key plane 330 b also includes the set of three medialsymbols (444). In some implementations, the set of medial symbols areplaced at the same positions as those in the primary key plane, makingthem easier to locate.

The secondary key plane (430 b) shown in FIG. 4D can also include a setof tone marks (452) associated with the Zhuyin input method. In someimplementations, all five of the tone marks can be displayed on thesecondary key plane 430 b, such that the completion of the “phoneticspelling” of any Chinese character can be indicated by the entry of atone mark following a medial or a final phonetic symbol. After a userhas entered an initial phonetic symbol on the primary key plane 430 a,the user can enter a medial symbol followed by a tone mark, or a medialsymbol followed by a final symbol and a tone mark, to complete thephonetic spelling of a Chinese character on the secondary key plane 430b. After the user enters the tone mark on the secondary key plane 430 bof the virtual key board, the virtual keyboard can automatically switchto the primary key plane 430 a again and be ready to receive input of aninitial symbol for the phonetic spelling of the next Chinese characterinput.

The primary and the secondary key planes shown in FIGS. 4C and 4D canfurther include other user interface elements, such as the input methodswitching key 416, the number pad key 418, the delete/backspace key 420,the “

” or “Space” key 422, and the “

” or “Return” key 324 as described with respect to FIGS. 4A-4B. Otheruser interface elements can also be implemented.

The dual-plane layout of the virtual key board can significantly reducethe size of the text entry area of a text input interface since only arelevant subset (e.g., either the initial phonetic symbols or the finalphonetic symbols) of the phonetic alphabet is displayed at a time. Theautomatic switching between the primary and the secondary key planesbased on the context of text input can save the user from having topress an additional key each time he/she wishes to invoke ahidden/alternate key on the virtual keyboard. This design can helpavoiding overcrowding of the virtual keyboard. The keys do not have tobe squeezed to an inconvenient size to fit on the text entry area of thetext input interface. The locations of the symbols are intuitive tousers who are familiar with the conventional Zhuyin phonetic alphabet.The medial symbols can appear on both the primary and the secondary keyplanes, making entry of Chinese characters that start with a medialsound more convenient.

In some implementations, further compaction of the key planes can beachieved. For example, the overlapping medial keys can be omitted fromone of the two key planes (e.g., the primary key plane), and users canmanually switch to the key plane containing the medial keys as needed.Since the medial phonetic symbols are not frequently used, omission ofthe medial symbols from one of the key planes may be a desiredimplementation for many users, especially for devices with particularlysmall displays. In some implementations, the tone marks can be omittedfrom the secondary key plane. The users can enter the tone marks by aset of predetermined multi-touch gestures on the touch-sensitivedisplay. For example, each of the tone marks can be entered by the userflicking across the touch-sensitive display in a predetermineddirection.

The dual-plane keyboard layout can be implemented for other inputmethods, such as the Pinyin input method for Chinese characters. Pinyininput method uses Romanization of the initial, medial, and final soundsof Chinese characters to “phonetically spell” Chinese characters.Although a standard English keyboard can be used to enter Pinyin, thedual-plane design shown in FIGS. 4A-4D can be adapted for use withPinyin as well. In Pinyin, there are special initial symbols for themedial sounds if they are the starting sounds of Chinese characters.Therefore, medial phonetic symbols do not have to appear on the firstkey plane. Furthermore, tone marks do not have to appear on the secondkey plane because they can be entered by a multi-touch gesture, forexample. Applications in most other Asian languages and input methodsare also possible, for example, Jamo (Korean hangul input), Hiragana orKatakana (Japanese input).

Text Input Example

FIGS. 5A-5J illustrate an example process for entering text on theexample user interface shown in FIGS. 4A-4B.

The Zhuyin symbols that are entered in the example shown in FIGS. 5A-5Jare the “phonetic spellings” for two Chinese characters “

” which means “Apple” in English. The Chinese character “

” is “spelled” as “

”, and the Chinese character “

” is “spelled” as “

” according to the Zhuyin input method.

In FIG. 5A, when a text editing application (such as a note application)is started, the primary key plane 430 a of the virtual keyboard can bepresented first in the text entry area of the text editing application.Before any input is entered in the text entry area, the textpresentation area 402 of the text editing application is blank. The textediting application can include a document title area 510, which canoptionally display a suggested title of the typed document. In someimplementations, the suggested title of the document can be the firstword or the first line of the typed document.

In some implementations, the primary key plane 430 a can include the setof initial phonetic symbols of the Zhuyin alphabet. In someimplementations, the primary key plane 430 a can also include the set ofmedial phonetic symbols of the Zhuyin alphabet. In some implementations,the primary key plane 430 a does not include any final phonetic symbolsor tone marks. In some implementations, a shift key 406 can be includedin the primary key plane 430 a. The virtual keyboard can toggle betweenthe primary key plane 430 a and the secondary key plane 430 b when auser input directed toward the shift key 406 is received on thetouch-sensitive display.

First, a user input directed toward the virtual key “

” 502 of the primary key plane 430 a is received on the touch-sensitivesurface. Some visual effects can be displayed in the text input area toindicate the receipt of the user input. For example, a pop-upconfirmation showing the entered symbol can be displayed, as illustratedin FIG. 5A. Other visual or audio confirmations can also be implemented.

FIG. 5B shows that once the first input symbol (an initial phoneticsymbol or a medial phonetic symbol) is received on the primary key plane430 a, the virtual keyboard in the text entry area can automaticallyswitch to the secondary key plane 430 b without any further input fromthe user. The document title area 510 can be updated to reflect thesymbol that has just been entered. The text presentation area 402 can beupdated to show a text entry box 520. The text entry box 520 shows theinitial phonetic symbol “

” that has just been entered. A candidate suggestion list 530 can bepresented near the text entry box 520 showing a list of Chinesecharacters that are phonetically spelled with an initial phonetic symbol“

.”

In some implementations, the secondary key plane 430 b can include theset of final phonetic symbols of the Zhuyin phonetic alphabet. In someimplementations, the secondary key plane 430 b can also include the setof medial phonetic symbols of the Zhuyin phonetic alphabet. In someimplementations, the secondary key plane 430 b can also include a set oftone marks associated with the Zhuyin input method. In someimplementations, the secondary key plane 430 b does not include anyinitial phonetic symbols of the Zhuyin phonetic alphabet. In someimplementations, the secondary key plane does not include any tone marksif the tone marks can be entered by a set of predetermined multi-touchgestures on the touch-sensitive display. When the virtual keyboarddisplays the secondary key plane 430 b, the shift key 406 can show aslight different look from the shift key 406 shown on the primary keyplane 430 a (e.g., appearing highlighted). A user can touch the shiftkey 406 on the secondary key plane 430 b to manually switch back to theprimary key plane 430 a.

FIG. 5C shows that an input symbol is received on the secondary keyplane 430 b of the virtual keyboard. The input symbol entered on thesecondary key plane 430 b is the medial phonetic symbol “

” shown on the virtual key 504. The document title area 510, the textinput box 520 can be updated to reflect the newly entered phoneticsymbol. The candidate suggestion list 530 can also be updated to show alist of Chinese characters that match the present string of phoneticsymbols that have been entered.

FIG. 5D shows that another input symbol is received on the secondary keyplane 430 b of the virtual keyboard. The input symbol entered on thesecondary key plane 430 b is the final phonetic symbol “

” shown on the virtual key 506. The document title area 510, the textinput box 520, and the suggested candidate list 530 can be updated toreflect the newly entered phonetic symbol.

FIG. 5E shows that another input symbol is received on the secondary keyplane 430 b of the virtual keyboard. The input symbol entered on thesecondary key plane 430 b is the tone mark “

” shown on the virtual key 508. The input of the tone mark completes the“phonetic spelling” of the first Chinese character “

.”

FIG. 5F shows that once the tone mark “

” is received on the secondary key plane 430 b, the virtual keyboard inthe text entry area can automatically switch to the primary key plane430 a without any further input from the user. The document title area510, the text input box 520, and the suggested candidate list 530 can beupdated to reflect the newly entered tone mark. At this point,conventional Zhuyin input methods would require the user to select acandidate from the list of suggested Chinese characters to complete theentry of one Chinese character before allowing the user to proceed withentering additional phonetic symbols. In the input method described inthis specification, such requirement is not necessary. A user canproceed to enter additional phonetic symbols without making a selectionof character at this point. Additional phonetic symbols may prompt amore accurate and shortened list of candidate multi-charactercombinations (e.g., multiple characters, words, phrases, partialsentences, or complete sentences, etc.) that match the currently enteredsequence of phonetic symbols and tone mark(s).

FIGS. 5G-5H show continued user input for the next character “

.” FIGS. 5G and 5H show that once the initial phonetic symbol “

” on the virtual key 512 is entered through the primary key plane 430 a,the virtual keyboard can automatically switch to the secondary key plane430 b without further input from the user. The document title area 510,the text input box 520, and the suggested candidate list 530 can beupdated to reflect the newly entered initial phonetic symbol. At thispoint, there is sufficient information for the word “

” to show up on the candidate suggestion list 530. FIG. 5I shows that auser can select the word “

” from the candidate suggestion list to complete the text entry of theword without having to complete the “phonetic spelling” of the secondcharacter “

.”

FIG. 5J shows that once the user input selecting the word “

” from the suggested candidate list 530 is received, the text entry ofthe word is completed. The word “

” 522 appears in the text presentation area 402 in place of thepreviously entered sequence of phonetic symbols and tone mark(s). Thedocument title area 510 can also updated to reflect the completed textentry of the word. The virtual keyboard in the text entry area canautomatically switch to the primary key plane 430 a and be ready toreceive input symbols for the next Chinese character.

FIGS. 5A-5J illustrate an example for entering a Chinese characterstarting with an initial (onset) phonetic sound. To enter a Chinesecharacter starting with a medial sound, a user can enter the appropriatemedial phonetic symbol on the primary key plane 430 a, after the virtualkeyboard switches to the secondary key plane 430 b, the user can proceedto enter the appropriate final phonetic symbol and the appropriate tonemark to complete the text entry for the Chinese character. To enter aChinese character consisting of only a medial or a final sound, the usercan manually invoke the shift key 406 on the primary key plane 430 a andcause the second key plane 430 b to be displayed in the virtual keyboard. The user can then proceed to enter the appropriate medial orfinal phonetic symbol on the secondary key plane 430 b. After the medialor final phonetic symbol is entered on the secondary key plane 430 b,the user can complete the text entry of the Chinese character byentering an appropriate tone mark on the secondary key plane 430 b.After the tone mark is entered, the virtual keyboard can automaticallyswitch from the secondary key plane 430 b to the primary key plane 430 aagain.

FIGS. 6A-6B illustrate an example process for text input correction(e.g., deleting a previously entered phonetic symbol or tone mark) fromthe text input interface.

In FIG. 6A, the user has entered the complete “phonetic spelling” of theword “

”, which is “

”. The document title area 510, the text input box 520 both show thephonetic symbols that have been entered so far. The candidate suggestionlist 530 includes the entry “

.” The virtual keyboard has switched back to the primary key plane 430 aafter the final tone mark “

” was entered on the secondary key plane 430 a. At this time, if theuser wishes to make a correction, each of the previously enteredphonetic symbols and tone marks can be deleted consecutively in alast-in-first-out fashion. When a user input directed toward the deletekey 420 is received, the last-entered tone mark “

” can be deleted, as reflected in the document title area 510 and theinput text box 520. As soon as the final tone mark is deleted, thevirtual keyboard can automatically switch from the primary key plane 430a back to the secondary key plane 430 b, and be ready to receive a newentry of the tone mark, as shown in FIG. 6B. As symbols are deleted fromthe sequence of phonetic symbols, the list of suggested candidatecharacters can be updated to reflect the change.

In this example, only the deletion of a final tone mark is shown.Similar automatic switching from the secondary key plane 430 b to theprimary key plane 430 a can also occur if the last-entered symbol is aninitial phonetic symbol (or a medial phonetic symbol previously enteredfrom the primary key plane), and the user deletes that initial phoneticsymbol (or medial phonetic symbol) from the secondary key plane 430 b.

In some implementations, a user can selectively delete a symbol at anyparticular position in the string of phonetic symbols and tone marksthat are displayed in the text input box 530. In response to thedeletion, the virtual keyboard can automatically switch to thealternative key plane or remain on the currently displayed key planedepending on the symbol that is deleted and its role in the “phoneticspelling” of the Chinese Characters. For example, if the user decides todelete the first tone mark “

” in the string “

”, the virtual key board can automatically switch from the primary keyplane to the secondary key plane for the user to enter a new tone mark.For another example, if the user deletes the medial “

”, the secondary key plane can remain in the virtual keyboard, and beready to receive a new medial input. However, if the user decides thatno medial is necessary, the user can manually press the shift key 406 toswitch to the primary key plane to enter a phonetic symbol for the nextChinese character input. As phonetic symbols are deleted from thesequence of phonetic symbols, the list of suggested candidate characters(or combinations of characters) can be updated accordingly to match theresulting new sequence of phonetic symbols.

In some implementations, addition or deletion of a phonetic symbol ortone mark that does not confirm to the “phonetic spelling” of anyChinese character will not trigger key plane switching in the virtualkeyboard.

In some implementations, the user can select a Chinese character or wordfrom the candidate suggestion list at any stage of the symbol input andcomplete the input of the Chinese character or word without completingthe “phonetic spelling.” If the user completes the input by choosing asuggested candidate, the virtual keyboard can display the primary keyplane 430 a and be ready to receive symbol input of the next Chinesecharacter or word.

The capability to accept a sequence of phonetic symbols for multiplecharacters enables the presentation of candidate characters or candidatemulti-character combinations that are more accurate. The user does nothave to scan through a long list of candidate characters to select asingle character after completely spelling out each single character.Multi-character combinations for multiple characters, words, phrases,partial sentences, and even complete sentences can be entered with asingle selection. A user can continue to enter the phonetic symbols formultiple characters until the desired multi-character combination ispresented in the list of suggested candidates on the display. Themulti-character combination can include a single word, phrases, partialsentences, and even complete sentences. The suggested candidates can bebased on the sequence of phonetic symbols that have been entered. Forexample, the phonetic spellings of the suggested candidates match thesequence of phonetic symbols that have been input so far. A dictionaryor database of possible character combinations for single word, phrases,partial sentences, and sentences can be used for candidate suggestion.The dictionary can be updated through adaptive learning to include moreand more possible character combinations and suggest these charactercombinations in the candidate list based on their frequency of use.

One possible variation of the Zhuyin input method described above is a“toneless” Zhuyin input method. The phonetic spelling of a Chinesecharacter without an appropriate tone mark would correctly match anumber of Chinese characters with the same pronunciation except forintonation. Combinations of Chinese characters can be represented by asequence of phonetic symbols without the corresponding tone marks. Thecorrect combination of characters that correspond to the sequence ofphonetic symbols without the corresponding tone marks can be deduced andpresented to the user on the text input user interface. For example,instead of entering eight symbols “

” for the word “

” the sequence of six Zhuyin phonetic symbols “

” without the tone marks can be used to enter the word “

.” The list of character combinations presented for this sequence ofZhuyin phonetic symbols (1) have pronunciations matching the sequence “

” and at the same time (2) represent actual words, common phrases,idioms, or common sentences used in the Chinese language. Sincecharacter combinations that meet both criteria (1 and 2) are relativelyfew in number, there is little likelihood of ambiguity in candidatesuggestion and text entry. The accuracy of the candidate suggestionimproves as more Zhuyin symbols are correctly entered. In addition, asmore phonetic symbols are entered as a sequence, more Chinese characterscan be entered at the same time. The speed of text entry can beimproved. The actual words, common phrases, idioms, or common sentencesused in candidate suggestions can be stored in a dictionary or databaseon the device or over a network. The dictionary and database can beimproved through adaptive learning using text entry of a large number ofusers. The dictionary and database can also be improved through adaptivelearning to suit the text entry habit of particular users.

If the “toneless” Zhuyin input method is used, the automatic switchingdual plane keyboard described above does not need to include keys forthe tone marks. The automatic switching from the secondary key plane tothe primary key plane can be configured to occur when the final phoneticsymbol of each character is entered. For example, for the word “

, ” (which means “individual” or “personal” in English), the tonelessphonetic spelling is “

.” After the initial phonetic symbol “

” is entered, the keyboard can automatically switch from the first keyplane to the second key plane. After the final phonetic symbol “

” is entered, the keyboard can automatically switch from the second keyplane back to the first key plane. The phonetic spelling without tonemark for the character “

” is completed. No tone mark needs to be entered at this point, and theuser can continue to enter the initial phonetic symbol for the nextcharacter “

.” After the user enters the initial phonetic symbol “

,” the keyboard can automatically switch from the first key plane to thesecond key plane. After the user enters the final phonetic symbol “

,” the list of suggested character combinations displayed on the userinterface includes the character combination “

” with few or no other choices. The user can select the charactercombination “

” to complete the character entry for the word.

In some implementations, the keyboard can still include the tone marksif the display has sufficient size. A user can choose to enter tonemarks for some of the characters while leaving out the tone marks forothers. Because the candidate suggestions are based on the sequence ofphonetic symbols and tone mark(s) that have been entered, adding thetone marks for some of the phonetic spellings can disambiguate andfurther narrow down the list of possible character combinations quickly.The speed of character entry can be further improved.

In some implementations, if the automatic switching between key planesis set to be triggered on the entry of the final phonetic symbols, andoccasional tone mark entry is enabled, the tone marks can be added tothe first key plane, which includes the initial phonetic symbols. Incases where medial phonetic symbols are required for the spelling of aChinese character, the user can manually switch to the keyboard to theappropriate key plane for input.

The toneless Zhuyin input method does not have to be implemented inconjunction with the automatic switching keyboard. Continued input ofZhuyin symbols for multiple characters can be entered on any Zhuyinkeyboard, and a multi-character combination can be selected and enteredfrom the list of character combinations suggested according to thesequence of phonetic symbols that has been entered using the keyboard.

Another variation of the Zhuyin input method described above is an“abbreviated” Zhuyin input method. Using the “abbreviated” Zhuyin inputmethod, only the initial phonetic symbols of characters are required.For example, to enter the word “

,” the complete phonetic spelling would include six symbols “

.” Using the “abbreviated” Zhuyin input method, only the two initialphonetic symbols “

” and “

” need to be entered on the keyboard. Once these two initial phoneticsymbols are entered on the keyboard, a list of candidate two-charactercombinations can be presented to the user. The list would include mostor all two-character combinations whose phonetic spellings include asequence of initial phonetic symbols matching the sequence of initialphonetic symbols currently entered. Using the abbreviated Zhuyin inputmethod, only one symbol is required for each character. Thedisambiguation of character-combinations can be improved as more initialphonetic symbols are being entered. In some implementations, occasionaltone marks or final phonetic symbols can be entered in the sequence tohelp further narrow down the list of candidate character combinations.

In some implementations, if the “abbreviated” Zhuyin input method isused, only the first key plane is presented for user input. The firstkey plane can include only the set of initial phonetic symbols of theZhuyin alphabet. In some implementations, the first key plane canfurther include the set of medial phonetic symbols since phoneticspellings of some characters start with a medial phonetic symbol. Insome implementations, the first key plane can further include the set oftone marks. A user can enter a tone marks after some of the phoneticsymbols to help narrow down the list of possible character candidates.

In some implementations, if the “abbreviated” Zhuyin input method isused, the automatic switching between the dual plane keyboard can bedisabled. For example, only the first key plane that includes theinitial phonetic symbols is presented on the user interface. The usercan manually switch to the second key plane with the final phoneticsymbols if the user wishes to input the final phonetic symbols in thesequence for some of the characters to be entered. By using the“abbreviated” Zhuyin input method, only a partial set of the Zhuyinphonetic symbols (the initial phonetic symbols) needs to be displayed onthe screen. This allows more space for content to be displayed on thescreen. In addition, since only one symbol is required for eachcharacter, the character input speed can be improved. “Abbreviated”Zhuyin input method is particularly helpful for entering idioms andcommon phrases with multiple characters.

In some implementations, the continued entry of a sequence of phoneticsymbols for multiple Chinese characters can be implemented independentof the auto-switching keyboard. Any keyboard for Zhuyin symbol input canbe used. In some implementations, tone marks are not required in thecontinued entry of a sequence of phonetic symbols for multiple Chinesecharacters. In some implementations, final and/or medial phoneticsymbols are not required in the continued entry of a sequence ofphonetic symbols for multiple Chinese characters. The suggested singleor multi-character combinations can be presented according to thesequence of phonetic symbols (and tone marks, if any) that have beenentered. For example, the matching between the sequence of phoneticsymbols (and tone marks, if any) and the complete phonetic spellings ofcharacter combinations can be implemented using regular expression,sub-string, and/or token matching techniques typical of any characterstrings.

FIG. 7 is a flow diagram of an example process 700 for entering text. Afirst key plane of a virtual keyboard can be presented, where the firstkey plane includes a set of initial phonetic symbols of a phoneticalphabet (702). In some implementations, the first key plane can alsoinclude a set of medial phonetic symbols of the phonetic alphabet. Afirst input selecting one of the set of initial phonetic symbols on thefirst key plane can be received (704). Upon the first user input beingreceived, an alternate, second key plane of the virtual keyboard can bepresented in place of the first key plane. The second key plane caninclude a set of final phonetic symbols of the phonetic alphabet and aset of tone marks associated with the phonetic alphabet (706).

In some implementations, a first input selecting one of the set ofmedial phonetic symbols on the first key plane can also trigger theswitching from the first key plane to the second key plane. In someimplementations, the second key plane can also include the set of medialphonetic symbols. However, in some implementations, the second key planedoes not include any initial phonetic symbols of the phonetic alphabet.A user can select a medial and/or final phonetic symbol on the secondkey plane to spell the desired Chinese character input, and then input atone mark to complete the “phonetic spelling” of the Chinese characterinput.

Following the input of a medial or final phonetic symbol, a second userinput selecting one of the tone marks on the second key plane can bereceived (708). Upon the second user input being received, the first keyplane of the virtual keyboard can be presented in place of the secondkey plane (710). The virtual keyboard can be ready to receive the symbolfor the next input character.

However, instead of proceeding with the input of the next character, auser can make a correction of previously entered symbols or tone marks.For example, after the second user input is received and while the firstkey plane is being presented, a third user input deleting the selectedtone mark can be received (712). Upon the third user input beingreceived, the second key plane of the virtual key board can be presentedin place of the first key plane (714).

FIG. 8 shows another example process for text entry and inputcorrection. For example, a first key plane of a virtual keyboard can bepresented, where the first key plane includes a set of initial phoneticsymbols of a phonetic alphabet (802). A first input selecting one of theset of initial phonetic symbols can be received on the first key plane(804). Upon receiving the first user input, an alternate, second keyplane of the virtual keyboard can be presented in place of the first keyplane, where the second key plane includes a set of final phoneticsymbols of the phonetic alphabet and a set of tone marks (806). Whilethe second key plane is being presented, a second user input deletingthe selected initial phonetic symbol in a text input stream can bereceived (808). Upon the second user input being received, the first keyplane of the virtual keyboard can be presented in place of the secondkey plane (810).

FIG. 9 is a flow diagram of an example process for manually switchingbetween the two key planes of the text input interface. A first keyplane of a virtual keyboard can be presented, where the first key planeincludes a set of initial phonetic symbols of a phonetic alphabet (902).While the first key plane of the virtual keyboard is presented, a firstuser input invoking a shift key on the first key plane can be received(904). Upon the first user input being received, an alternate, secondkey plane of the virtual keyboard can be presented in place of the firstkey plane, where the second key plane includes a set of final phoneticsymbols of the phonetic alphabet and a set of tone marks (906). Whilethe second key plane of the virtual keyboard is presented, a first userinput invoking the shift key on the second key plane can be received(908). Upon the first user input being received, the first key plane ofthe virtual keyboard can be presented in place of the second key plane(910).

FIG. 10 is a flow diagram of an example process for automatic switchingof key planes in the virtual keyboard. First, one of a pair of alternatekey planes of a virtual keyboard can be presented (1002). Each of thepair of alternate key planes can include a partial set of phoneticsymbols from a phonetic alphabet. A first key plane of the key planepair can include a set of initial phonetic symbols of the phoneticalphabet. A second key plane of the key plane pair can include a set offinal phonetic symbols of the phonetic alphabet and a set of tone marksassociated with the phonetic alphabet. Both the first and the second keyplanes can include a set of medial phonetic symbols of the phoneticalphabet.

While the first key plane is being displayed, a user input adding aninitial phonetic symbol or a medial phonetic symbol to a text inputstream can be received (1008). Upon the user input being received, thesecond key plane of the virtual keyboard can be presented in place ofthe first key plane (1016).

Alternatively, while the first key plane is being displayed, user inputdeleting a tone mark from a text input stream can be received (1010).Upon receiving the user input, the second key plane of the virtualkeyboard can be presented in place of the first key plane (1016).

Alternatively, while the second key plane is being displayed, user inputadding a tone mark to a text input stream following a medial or a finalphonetic symbol can be received (1012). Upon the user input beingreceived, the first key plane of the virtual keyboard can be presentedin place of the second key plane (1018).

Alternatively, while the second key plane is being displayed, user inputdeleting an initial phonetic symbol from a text input stream can bereceived (1014). Upon receiving the user input, the first key plane ofthe virtual keyboard can be presented in place of the second key plane(1018).

It should be appreciated that while the implementations above aredescribed with respect to entry of Chinese language text using theZhuyin input method, the above-described implementations can be adaptedfor use with other languages and other input methods.

FIG. 11 is an example process 1100 for entering a sequence of Zhuyinsymbols for multiple Chinese characters before a multi-charactercombination is entered. The process can be implemented on atouch-sensitive display or surface. The process can start when asequence of Zhuyin symbol input are received from a user interface,where the sequence of Zhuyin symbols (including tone marks) representsphonetic spellings of a plurality of Chinese characters (1102). A listof Chinese character combinations can be presented corresponding to thesequence of Zhuyin phonetic symbols and tone marks (1104). User input toselect one of the list of Chinese character combinations can be received(1106). The selected Chinese character combination can be entered astext input in the user interface (1108).

In some implementations, the sequence of Zhuyin symbols can representphonetic spellings of the plurality of Chinese characters withoutcorresponding tone marks for all of the plurality of Chinese characters.In some implementations, the sequence of Zhuyin symbols can representphonetic spellings of the plurality of Chinese characters without anycorresponding tone marks for any of the plurality of Chinese characters.In some implementations, the sequence of Zhuyin symbols can representphonetic spellings of the plurality of Chinese characters withoutcorresponding final phonetic symbols for all of the plurality of Chinesecharacters. In some implementations, the sequence of Zhuyin symbols canrepresent phonetic spellings of the plurality of Chinese characterswithout any corresponding final phonetic symbols for any of theplurality of Chinese characters.

FIG. 12 is the flow chart of an example process 1200 for receivingtext-input on a touch-sensitive display device using the “toneless”Zhuyin input method. One of a pair of alternate key planes of a virtualkeyboard can be presented (1202). Each of the pair of alternate keyplanes can include a partial set of phonetic symbols from a phoneticalphabet. A first key plane of the key plane pair can include a set ofinitial phonetic symbols of the phonetic alphabet. A second key plane ofthe key plane pair can include a set of final phonetic symbols of thephonetic alphabet; A sequence of Zhuyin symbols can be received throughthe first key plane and the second key plane (1204), where the virtualkeyboard switches from the first key plane to the second key plane inresponse to entry of an initial phonetic symbol in the sequence, thevirtual keyboard switches from the second key plane to the first keyplane in response to entry of a final phonetic symbol in the sequence,and the sequence of Zhuyin symbols represents phonetic spellings of aplurality of Chinese characters without corresponding tone marks. A listof Chinese character combinations corresponding to the sequence ofZhuyin symbols can be presented (1206). User input to select one of thelist of Chinese character combinations can be received (1208). Theselected Chinese character combination can be entered as text input inthe user interface (1210).

FIG. 13 is a flow diagram of an example process 1300 for receivingtext-input on a touch-sensitive display device or surface using the“abbreviated” Zhuyin input method. One of a pair of alternate key planesof a virtual keyboard can be presented (1302). Each of the pair ofalternate key planes can include a partial set of phonetic symbols froma phonetic alphabet. A first key plane of the key plane pair can includea set of initial phonetic symbols of the phonetic alphabet. A second keyplane of the key plane pair can include a set of final phonetic symbolsof the phonetic alphabet. A sequence of Zhuyin symbols is receivedthrough the first key plane (1304). The sequence of Zhuyin symbolsrepresents phonetic spellings of a plurality of Chinese characterswithout corresponding final phonetic symbols and tone marks. A list ofChinese character combinations corresponding to the sequence of Zhuyinsymbols can be presented (1306). User input to select one of the list ofChinese character combinations can be received (1308). The selectedChinese character combination can be entered as text input in the userinterface (1310).

The disclosed and other embodiments and the functional operationsdescribed in this specification can be implemented in digital electroniccircuitry, or in computer software, firmware, or hardware, including thestructures disclosed in this specification and their structuralequivalents, or in combinations of one or more of them. The disclosedand other embodiments can be implemented as one or more computer programproducts, i.e., one or more modules of computer program instructionsencoded on a computer readable medium for execution by, or to controlthe operation of, data processing apparatus. The computer readablemedium can be a machine-readable storage device, a machine-readablestorage substrate, a memory device, or a combination of one or morethem. The term “data processing apparatus” encompasses all apparatus,devices, and machines for processing data, including by way of example aprogrammable processor, a computer, or multiple processors or computers.The apparatus can include, in addition to hardware, code that creates anexecution environment for the computer program in question, e.g., codethat constitutes processor firmware, a protocol stack, a databasemanagement system, an operating system, or a combination of one or moreof them.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, and it can bedeployed in any form, including as a stand-alone program or as a module,component, subroutine, or other unit suitable for use in a computingenvironment. A computer program does not necessarily correspond to afile in a file system. A program can be stored in a portion of a filethat holds other programs or data (e.g., one or more scripts stored in amarkup language document), in a single file dedicated to the program inquestion, or in multiple coordinated files (e.g., files that store oneor more modules, sub-programs, or portions of code). A computer programcan be deployed to be executed on one computer or on multiple computersthat are located at one site or distributed across multiple sites andinterconnected by a communication network.

The processes and logic flows described in this specification can beperformed by one or more programmable processors executing one or morecomputer programs to perform functions by operating on input data andgenerating output. The processes and logic flows can also be performedby, and apparatus can also be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) or an ASIC(application-specific integrated circuit).

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read-only memory ora random access memory or both. The essential elements of a computer area processor for performing instructions and one or more memory devicesfor storing instructions and data. Generally, a computer will alsoinclude, or be operatively coupled to receive data from or transfer datato, or both, one or more mass storage devices for storing data, e.g.,magnetic, magneto-optical disks, or optical disks. However, a computerneed not have such devices. Computer-readable media suitable for storingcomputer program instructions and data include all forms of non-volatilememory, media and memory devices, including by way of examplesemiconductor memory devices, e.g., EPROM, EEPROM, and flash memorydevices; magnetic disks, e.g., internal hard disks or removable disks;magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor andthe memory can be supplemented by, or incorporated in, special purposelogic circuitry.

To provide for interaction with a user, the disclosed embodiments can beimplemented on a computer having a display device, e.g., a CRT (cathoderay tube) or LCD (liquid crystal display) monitor, for displayinginformation to the user and a keyboard and a pointing device, e.g., amouse or a trackball, by which the user can provide input to thecomputer. Other kinds of devices can be used to provide for interactionwith a user as well; for example, feedback provided to the user can beany form of sensory feedback, e.g., visual feedback, auditory feedback,or tactile feedback; and input from the user can be received in anyform, including acoustic, speech, or tactile input.

The disclosed embodiments can be implemented in a computing system thatincludes a back-end component, e.g., as a data server, or that includesa middleware component, e.g., an application server, or that includes afront-end component, e.g., a client computer having a graphical userinterface or a Web browser through which a user can interact with animplementation of what is disclosed here, or any combination of one ormore such back-end, middleware, or front-end components. The componentsof the system can be interconnected by any form or medium of digitaldata communication, e.g., a communication network. Examples ofcommunication networks include a local area network (“LAN”) and a widearea network (“WAN”), e.g., the Internet.

While this specification contains many specifics, these should not beconstrued as limitations on the scope of what being claims or of whatmay be claimed, but rather as descriptions of features specific toparticular embodiments. Certain features that are described in thisspecification in the context of separate embodiments can also beimplemented in combination in a single embodiment. Conversely, variousfeatures that are described in the context of a single embodiment canalso be implemented in multiple embodiments separately or in anysuitable subcombination. Moreover, although features may be describedabove as acting in certain combinations and even initially claimed assuch, one or more features from a claimed combination can in some casesbe excised from the combination, and the claimed combination may bedirected to a subcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understand as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the embodiments described above should not be understoodas requiring such separation in all embodiments, and it should beunderstood that the described program components and systems cangenerally be integrated together in a single software product orpackaged into multiple software products.

Particular embodiments of the subject matter described in thisspecification have been described. Other embodiments are within thescope of the following claims. For example, the actions recited in theclaims can be performed in a different order and still achieve desirableresults. As one example, the processes depicted in the accompanyingfigures do not necessarily require the particular order shown, orsequential order, to achieve desirable results. In certainimplementations, multitasking and parallel processing may beadvantageous.

1. An interface for entering electronic text on a touch-sensitivedisplay device, comprising: a virtual keyboard consisting of a first keyplane and a second, alternate key plane, wherein: the first key planecomprises a set of initial phonetic symbols of a phonetic alphabet; thesecond key plane comprises a set of final phonetic symbols of thephonetic alphabet; the first key plane and the second key plane aretouch-sensitive and operable to receive user input directed toward eachof the phonetic symbols to generate electronic text input; and thevirtual keyboard switches between the first key plane and the second keyplane in response to predetermined user input triggers received throughthe virtual keyboard.
 2. The interface of claim 1, wherein the first keyplane further includes a set of medial phonetic symbols of the phoneticalphabet.
 3. The interface of claim 1, wherein the second key planefurther includes a set of medial phonetic symbols of the phoneticalphabet.
 4. The interface of claim 1, wherein the first and the secondkey planes include a set of identical medial phonetic symbols of thephonetic alphabet.
 5. The interface of claim 1, wherein the phoneticsymbols are Zhuyin symbols of a Chinese Zhuyin alphabet and are arrangedin horizontal rows on the first and the second key planes inpredetermined phonetic groups of the Chinese Zhuyin alphabet.
 6. Theinterface of claim 1, wherein the first and the second key planes eachinclude a shift key for switching between the first and the second keyplanes.
 7. The interface of claim 1, wherein the predetermined userinput triggers include user selecting one of the set of initial phoneticsymbols of the phonetic alphabet on the first key plane.
 8. Theinterface of claim 1, wherein the second key plane further includes aset of tone marks associated with the phonetic alphabet.
 9. Theinterface of claim 8, wherein the predetermined user input triggersinclude user selecting one of the set of tone marks associated with thephonetic alphabet on the second key plane.
 10. The interface of claim 9,wherein the predetermined user input triggers include user deleting alast-entered tone mark in a text input stream while the first key planeis being presented.
 11. The interface of claim 1, wherein thepredetermined user input triggers include user deleting a last-enteredinitial phonetic symbol in a text input stream while the second keyplane is being presented.
 12. The interface of claim 1, wherein thepredetermined user input triggers include user selecting a shift key onthe first or the second key plane that is operable to trigger key planeswitching in the virtual keyboard between the first and the second keyplanes.
 13. A computer-implemented method for receiving text-input on atouch-sensitive display device, comprising: presenting a primary keyplane of a virtual keyboard on the touch-sensitive display device, theprimary key plane including a set of initial phonetic symbols of aphonetic alphabet; receiving a first user input selecting one of the setof initial phonetic symbols on the primary key plane; and upon receivingthe first user input, presenting an alternate, secondary key plane ofthe virtual keyboard in place of the primary key plane on thetouch-sensitive display device, the secondary key plane including a setof final phonetic symbols of the phonetic alphabet and none of the setof initial phonetic symbols of the phonetic alphabet.
 14. The method ofclaim 13, wherein the primary key plane further includes a set of medialphonetic symbols of the phonetic alphabet.
 15. The method of claim 13,wherein the secondary key plane further includes a set of tone marksassociated with the phonetic alphabet.
 16. The method of claim 15,further comprising: receiving a second user input selecting one of theset of tone marks on the secondary key plane; and upon receiving thesecondary user input, presenting the primary key plane of the virtualkeyboard in place of the secondary key plane.
 17. The method of claim16, further comprising: after receiving the second user input and whilepresenting the primary key plane, receiving a third user input deletingthe selected tone mark; and upon receiving the third user input,presenting the secondary key plane of the virtual key board in place ofthe primary key plane.
 18. The method of claim 13, wherein the primaryand the secondary key planes each further includes an identical set ofmedial phonetic symbols of the phonetic alphabet.
 19. The method ofclaim 13, wherein the phonetic symbols are Zhuyin symbols of a ChineseZhuyin alphabet and are arranged in horizontal rows on the primary andthe secondary key planes in predetermined phonetic groups of the ChineseZhuyin alphabet.
 20. The method of claim 13, wherein the primary and thesecondary key planes each includes a shift key that is operable totrigger key plane switching in the virtual keyboard between the primaryand the secondary key planes when invoked by user input.
 21. The methodof claim 20, further comprising: while presenting the primary key planeof the virtual keyboard, receiving a second user input invoking theshift key on the primary key plane; and upon receiving the second userinput, presenting the secondary key plane of the virtual keyboard inplace of the primary key plane.
 22. The method of claim 20, furthercomprising: while presenting the secondary key plane of the virtualkeyboard, receiving a second user input invoking the shift key on thesecondary key plane; and upon receiving the second user input,presenting the primary key plane of the virtual keyboard in place of thesecondary key plane.
 23. The method of claim 13, further comprising:while presenting the secondary key plane, receiving a second user inputdeleting the selected initial phonetic symbol; and upon receiving thesecond user input, presenting the primary key plane of the virtualkeyboard in place of the secondary key plane.
 24. A computer-implementedmethod for receiving text-input on a touch-sensitive display device,comprising: presenting one of a pair of alternate key planes of avirtual keyboard on the touch-sensitive display device, each of the pairof alternate key planes including a partial set of phonetic symbols froma phonetic alphabet, a first key plane of the key plane pair including aset of initial phonetic symbols of the phonetic alphabet, and a secondkey plane of the key plane pair including a set of final phoneticsymbols of the phonetic alphabet; and receiving a sequence of symbolinput from the pair of alternate key planes for text entry on thetouch-sensitive display device.
 25. The method of claim 24, wherein thesecond key plane further includes a set of tone marks associated withthe phonetic alphabet.
 26. The method of claim 25, wherein both thefirst and the second key planes include a set of medial phonetic symbolsof the phonetic alphabet.
 27. The method of claim 26, furthercomprising: while the first key plane is being presented, receiving userinput adding an initial phonetic symbol or a medial symbol to a symbolinput sequence; and upon receiving the user input, presenting the secondkey plane of the virtual keyboard in place of the first key plane. 28.The method of claim 26, further comprising: while the first key plane isbeing presented, receiving user input deleting a tone mark from a symbolinput sequence; and upon receiving the user input, presenting the secondkey plane of the virtual keyboard in place of the first key plane. 29.The method of claim 26, further comprising: while the second key planeis being presented, receiving user input adding a tone mark to a symbolinput sequence following a medial or a final phonetic symbol; and uponreceiving the user input, presenting the first key plane of the virtualkeyboard in place of the second key plane.
 30. The method of claim 26,further comprising: while the second key plane is being presented,receiving user input deleting an initial phonetic symbol from a symbolinput sequence; and upon receiving the user input, presenting the firstkey plane of the virtual keyboard in place of the second key plane. 31.A portable device comprising: a touch-sensitive display or surface;memory; one or more processors; and instructions stored in the memoryand configured for execution by the one or more processors, theinstructions comprising instructions to: present one of a pair ofalternate key planes of a virtual keyboard, each of the pair ofalternate key planes including a partial set of phonetic symbols from aphonetic alphabet, a first key plane of the key plane pair including aset of initial phonetic symbols of the phonetic alphabet, a second keyplane of the key plane pair including a set of final phonetic symbols ofthe phonetic alphabet and a set of tone marks associated with thephonetic alphabet, and both the first and the second key planesincluding a set of medial phonetic symbols of the phonetic alphabet. 32.A computer-readable medium having instructions stored thereon, which,when executed by at least one processors, causes the processor toperform operations comprising: presenting one of a pair of alternate keyplanes of a virtual keyboard, each of the pair of alternate key planesincluding a partial set of phonetic symbols from a phonetic alphabet, afirst key plane of the key plane pair including a set of initialphonetic symbols of the phonetic alphabet, a second key plane of the keyplane pair including a set of final phonetic symbols of the phoneticalphabet and a set of tone marks associated with the phonetic alphabet,and both the first and the second key planes including a set of medialphonetic symbols of the phonetic alphabet.
 33. A computer-implementedmethod for receiving text-input, comprising: receiving a sequence ofZhuyin symbol input from a user interface presented on a touch-sensitivesurface, the sequence of Zhuyin symbols representing phonetic spellingsof a plurality of Chinese characters; presenting a list of Chinesecharacter combinations corresponding to the sequence of Zhuyin symbols;receiving user input to select one of the list of Chinese charactercombinations; and entering the selected Chinese character combination astext input in the user interface.
 34. The method of claim 33, whereinthe sequence of Zhuyin symbols represents phonetic spellings of theplurality of Chinese characters without corresponding tone marks for allof the plurality of Chinese characters.
 35. The method of claim 34,wherein the sequence of Zhuyin symbols represents phonetic spellings ofthe plurality of Chinese characters without any corresponding tone marksfor any of the plurality of Chinese characters.
 36. The method of claim33, wherein the sequence of Zhuyin symbols represents phonetic spellingsof the plurality of Chinese characters without corresponding finalphonetic symbols for all of the plurality of Chinese characters.
 37. Themethod of claim 36, wherein the sequence of Zhuyin symbols representsphonetic spellings of the plurality of Chinese characters without anycorresponding final phonetic symbols for any of the plurality of Chinesecharacters.
 38. A computer-implemented method for receiving text-input,comprising: presenting one of a pair of alternate key planes of avirtual keyboard on a touch sensitive surface, each of the pair ofalternate key planes including a partial set of phonetic symbols from aphonetic alphabet, a first key plane of the key plane pair including aset of initial phonetic symbols of the phonetic alphabet, a second keyplane of the key plane pair including a set of final phonetic symbols ofthe phonetic alphabet; receiving a sequence of phonetic symbol inputthrough the first key plane and the second key plane, where the virtualkeyboard switches from the first key plane to the second key plane inresponse to entry of an initial phonetic symbol in the sequence, thevirtual keyboard switches from the second key plane to the first keyplane in response to entry of a final phonetic symbol in the sequence,and the sequence of phonetic symbols represents phonetic spellings of aplurality of Chinese characters without corresponding tone marks;presenting a list of Chinese character combinations corresponding to thesequence of phonetic symbols; receiving user input to select one of thelist of Chinese character combinations; and entering the selectedChinese character combination as text input in the user interface.
 39. Acomputer-implemented method for receiving text-input, comprising:presenting one of a pair of alternate key planes of a virtual keyboardon a touch-sensitive surface, each of the pair of alternate key planesincluding a partial set of phonetic symbols from a phonetic alphabet, afirst key plane of the key plane pair including a set of initialphonetic symbols of the phonetic alphabet, a second key plane of the keyplane pair including a set of final phonetic symbols of the phoneticalphabet; receiving a sequence of phonetic symbols through the first keyplane, the sequence of phonetic symbols representing phonetic spellingsof a plurality of Chinese characters without all corresponding finalphonetic symbols and tone marks; presenting a list of Chinese charactercombinations corresponding to the sequence of phonetic symbols;receiving user input to select one of the list of Chinese charactercombinations; and entering the selected Chinese character combination astext input in the user interface.